package com.ruoyi.system.domain;

import java.math.BigDecimal;
import java.util.List;

import com.baomidou.mybatisplus.annotation.TableField;
import com.ruoyi.system.domain.vo.PostConsumptionVO;
import com.ruoyi.system.domain.vo.TimeSlotVO;
import com.ruoyi.system.entity.AbdulBaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import com.ruoyi.common.annotation.Excel;

/**
 * 服务费规则对象 service_fee_rules
 *
 * @author ruoyi
 * @date 2025-05-19
 */
@Data
@ApiModel("服务费规则对象")
public class ServiceFeeRules extends AbdulBaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键ID */
    @ApiModelProperty("主键ID")
    private Long id;

    /** 服务费名称 */
    @ApiModelProperty("服务费名称")
    @Excel(name = "服务费名称")
    private String feeName;

    /** 计费编号 */
    @ApiModelProperty("计费编号")
    @Excel(name = "计费编号")
    private String feeCode;

    /** 计费方式类型 */
    @ApiModelProperty("计费方式类型")
    @Excel(name = "计费方式类型")
    private String feeType;

    /** 状态 */
    @ApiModelProperty("状态")
    @Excel(name = "状态")
    private String status;

    /** 排序（数值越小越靠前） */
    @ApiModelProperty("排序")
    @Excel(name = "排序", readConverterExp = "数=值越小越靠前")
    private Long sortOrder;

    /** 开单后计费（1=是，0=否） */
    @ApiModelProperty("开单后计费")
    @Excel(name = "开单后计费", readConverterExp = "1==是，0=否")
    private Integer chargeAfterOrder;

    /** 时段一（格式：09:00-12:00） */
    @TableField(exist = false)
    @ApiModelProperty("时段一")
    @Excel(name = "时段一", readConverterExp = "格=式：09:00-12:00")
    private List<TimeSlotVO> timeSlotOne;

    /** 整单打折（1=允许，0=不允许） */
    @ApiModelProperty("整单打折（1=允许，0=不允许）")
    @Excel(name = "整单打折", readConverterExp = "1==允许，0=不允许")
    private Integer allowDiscount;

    /** 整单折扣后继续参与会员折扣（1=参与，0=不参与） */
    @ApiModelProperty("整单折扣后继续参与会员折扣（1=参与，0=不参与）")
    @Excel(name = "整单折扣后继续参与会员折扣", readConverterExp = "1==参与，0=不参与")
    private Integer afterDiscountMember;

    /** 折扣方式 */
    @ApiModelProperty("折扣方式")
    @Excel(name = "折扣方式")
    private String discountType;

    /** 参与最低消费金额 */
    @ApiModelProperty("参与最低消费金额")
    @Excel(name = "参与最低消费金额")
    private BigDecimal minConsumption;

    /** 参与会员积分（1=是，0=否） */
    @ApiModelProperty("参与会员积分（1=是，0=否）")
    @Excel(name = "参与会员积分", readConverterExp = "1==是，0=否")
    private Integer earnPoints;

    /** 支持代金券（1=是，0=否） */
    @ApiModelProperty("支持代金券（1=是，0=否）")
    @Excel(name = "支持代金券", readConverterExp = "1==是，0=否")
    private Integer supportVoucher;

    /** 支持积分抵现（1=是，0=否） */
    @ApiModelProperty("支持积分抵现（1=是，0=否）")
    @Excel(name = "支持积分抵现", readConverterExp = "1==是，0=否")
    private Integer supportPoints;

    /** 封顶费用 */
    @ApiModelProperty("封顶费用")
    @Excel(name = "封顶费用")
    private BigDecimal maxFee;

    /** 消费后 */
    @TableField(exist = false)
    @ApiModelProperty("消费后")
    @Excel(name = "消费后")
    private List<PostConsumptionVO> postConsumptionType;

    /** 联系电话 */
    @ApiModelProperty("联系电话")
    @Excel(name = "联系电话", readConverterExp = "新=增字段")
    private String phone;

    /** 计费方式 如"每小时50元" */
    @ApiModelProperty("计费方式")
    @Excel(name = "计费方式")
    private String billingMethod;

    /** 普通会员多少折*/
    @ApiModelProperty("普通会员多少折")
    @Excel(name = "普通会员多少折")
    private Integer commonMemberDiscount;


}
